Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Davis Cup, Group I, 1R, AUT-POR 1-3 Lisbon Challenger Bratislava 2 Challenger Buenos Aires Challenger Curitiba Challenger Guayaquil Challenger Calgary Challenger Drummondville Challenger Montevideo Challenger Oeiras 1 Challenger Australian Open - Melbourne Oeiras 2 Challenger Cordoba Open - Cordoba Argentina Open - Buenos Aires Santiago Challenger Barcelona Open Banc Sabadell - Barcelona Girona Challenger Millennium Estoril Open - Estoril French Open - Paris Iasi Challenger Liberec Challenger Verona Challenger Cali Challenger Buenos Aires Challenger Villa Maria Challenger Rio Open - Rio de Janeiro Rosario Challenger Piracicaba Challenger Australian Open - Melbourne Mutua Madrid Open - Madrid Grand Prix Hassan II - Marrakech Internazionali BNL d'Italia - Rome Cassis Challenger Madrid Challenger Prostejov Challenger French Open - Paris Skopje Challenger Cincinnati Open - Cincinnati Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F33 Spain F34 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Portugal F4 Spain F27 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Bolivia F1 Bolivia F2 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Spain F35 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Bolivia F1 Bolivia F2 Spain F35 Bolivia F3 Spain F36 Bolivia F4 Peru F1 France F4 Spain F14 Spain F15 Bolivia F1 Spain F36 Bolivia F3 Bolivia F4 Spain F38 Chile F13 Portugal F2 Portugal F3 Argentina F8 Argentina F9 Venezuela F1 Venezuela F2 Venezuela F3 Peru F2 Peru F3 Peru F4 Brazil F18 Spain F37 Argentina F21 Argentina F22 Argentina F23 Bolivia F1 Bolivia F2 Bolivia F3 Bolivia F4 Bolivia F5 Spain F3 Croatia F3 Croatia F4 Croatia F5 Croatia F6 Chile F1 Argentina F3 Argentina F4 Argentina F5 Argentina F6 Argentina F9 France F12 France F13 Italy F18 Italy F19 Italy F20 Bolivia F3 Bolivia F4 Bolivia F5 Spain F11 Argentina F4 Argentina F5 Argentina F6 Colombia F2 Sweden F3 Morocco F1 Morocco F2 Spain F12 Italy F23 Denmark F1 Ecuador F4 Ecuador F6 Bolivia F3 Brazil F11 Spain F17 Brazil F12 Brazil F13 Dominican Republic F2 Dominican Republic F3 Chile F4 Sweden F2 Germany F10 Argentina F2 Argentina F3 Hungary F3 Romania F2 Bulgaria F2 Turkey F25 Turkey F26 Spain F24 Germany F10 Austria F6 Austria F7 Austria F8 Bolivia F1 Bolivia F2 Bolivia F3 USA F5 (Weston) USA F7 (Orlando) Bolivia F2 Spain F11 (Majadahonda) Spain F12 (Lleida) Sweden F1 (Karlskrona) Sweden F2 (Bastad) Turkey F20 (Antalya) Turkey F22 (Istanbul) Turkey F23 (Istanbul) Romania F9 (Bucharest) Argentina F7 (Buenos Aires) Bolivia F2 (Cochabamba) Bolivia F3 (Santa Cruz) Italy F3 (Santa Margherita Di Pula) Italy F4 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Biel Challenger Concepcion Challenger Tarragona Challenger Rabat Challenger Tallahassee Challenger Tunis Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Casablanca Challenger Pingguo Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Segovia Challenger San Marino Challenger Seville Challenger Trnava Challenger Madrid Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Marrakech Challenger Rome Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Kos Succhetti Tennis Cup - Cordenons Rio De Janeiro Challenger Buenos Aires Challenger Porto Alegre Challenger Montevideo Challenger Furth Challenger Kosice Challenger Todi Challenger Poznan Challenger Quito Challenger Guayaquil Challenger Santiago Challenger Furth Challenger Milan Challenger Padova Challenger Todi Challenger San Benedetto Challenger Tampere Challenger Quito Challenger Bordeaux Challenger San Juan Challenger Cordoba Challenger Casablanca Challenger San Benedetto Challenger Mersin Challenger Montevideo Challenger Seville Challenger Bucaramanga Challenger Morelos Challenger Campinas Challenger Corrientes Challenger Lima Challenger Guangzhou Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Santos Challenger Quimper Challenger Santiago Challenger Buenos Aires Challenger Astana Challenger Tampere Challenger Liberec Challenger Cali Challenger Lima Challenger Punta Del Este Challenger Santiago Challenger Sarasota Challenger Tallahassee Challenger Savannah Challenger Vicenza Challenger Shymkent Challenger Almaty Challenger L'Aquila Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Sopot Challenger Como Challenger Campinas Challenger Santo Domingo Challenger St. Brieuc Challenger Rome Challenger Mamaia Challenger - Constanta Lima Challenger Barcelona Open BancSabadell - Barcelona Tanger Challenger Bucaramanga Challenger Meknes Challenger Prague Challenger Guayaquil Challenger Antalya Cup - Antalya Cremona Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Punta Del Este Challenger Santiago Challenger Sarasota Challenger Heilbronn Challenger Parma Challenger Milan Challenger Braunschweig Challenger Leon Challenger Buenos Aires Challenger Campinas Challenger Guayaquil Challenger Montevideo Challenger Aix En Provence Challenger Rennes Challenger Antalya 2 Challenger Concepcion Challenger Belgrade Challenger Rome 1 Challenger Rome 2 Challenger Biella 5 Challenger Oeiras 3 Challenger Prostejov Challenger Medellin Challenger Cordenons Challenger San Marino Challenger Orleans Challenger Lima Challenger Santiago 2 Challenger Alicante Challenger Buenos Aires Challenger Brest Challenger Lima 2 Challenger Tenerife Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Helsinki Challenger Brasilia Challenger Sao Paulo Challenger Florianopolis Challenger Concepcion Challenger Quimper Challenger Santa Cruz de la Sierra Challenger Santiago Challenger Concepcion 2 Challenger Forli 6 Challenger Lyon Challenger Bogota Challenger Reggio Emilia Challenger Porto Alegre Challenger Trnava Challenger Santo Domingo Challenger Turin Challenger Madrid Challenger Santiago Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Bordeaux Challenger Aix En Provence Challenger Tunis Challenger Oeiras 4 Challenger Vicenza Challenger Heilbronn Challenger Ismaning Challenger San Juan Challenger Mallorca Challenger Seville Challenger Rome Challenger Cagliari Challenger Cassis Challenger Salinas Challenger Milan Challenger Eckental Challenger Padova Challenger Izmir Challenger Orbetello Challenger Santa Fe Challenger Karlsruhe Challenger Bonn Challenger Lima 2 Challenger Kosice Challenger Guimaraes Challenger Marrakech Challenger San Sebastian Challenger Santo Domingo Challenger Prague 3 Challenger Morelos Challenger Szczecin Challenger Curitiba Challenger Montevideo Challenger Rabat Challenger Girona Challenger Pereira Challenger Iasi Challenger Santa Cruz de la Sierra Challenger Campinas Challenger Cordenons Challenger Western & Southern Open - Cincinnati Turin Challenger Montevideo Challenger Cali Challenger Perugia Challenger Mallorca Challenger Ortisei Challenger Merida Challenger Porto Challenger Lima 2 Challenger Campinas Challenger Braga Challenger Luedenscheid Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Bratislava Challenger Amersfoort Challenger Antofagasta Challenger Estoril Open - Estoril Braunschweig Challenger Estoril Open - Estoril Santa Cruz de la Sierra Challenger Asuncion Challenger Estoril Open - Estoril If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier Ecuador Open - Quito ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel ASB Classic - Auckland Garanti Koza Sofia Open - Sofia Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Santiago Open - Santiago Generali Open - Kitzbuhel European Open - Antwerp Great Ocean Road Open - Melbourne ABN AMRO World Tennis Tournament - Rotterdam Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Cordoba Open - Cordoba Tata Open Maharashtra - Pune Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago US Men's Clay Court Championship - Houston Millennium Estoril Open - Estoril Santo Domingo Challenger Gonet Geneva Open - Geneva Winston-Salem Open - Winston-Salem Punta Del Este Challenger Temuco Challenger Movistar Chile Open - Santiago Konzum Croatia Open - Umag Antofagasta Challenger Bogota Challenger Maia Challenger Nordea Open - Bastad Millennium Estoril Open - Estoril Cordoba Open - Cordoba Nordea Open - Bastad Hamburg European Open - Hamburg Hamburg European Open - Hamburg Rio Open - Rio de Janeiro Studena Croatia Open - Umag Barcelona Open Banc Sabadell - Barcelona Hall of Fame Open - Newport Estoril Open - Estoril Heineken Open - Auckland Winston-Salem Open - Winston-Salem BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Gerry Weber Open - Halle Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Dubai Duty Free Tennis Championships - Dubai Rogers Cup - Toronto Rogers Cup - Montreal Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne National Bank Open - Toronto French Open - Paris Internazionali BNL d'Italia - Rome Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Internazionali BNL d'Italia - Rome Wimbledon - London Wimbledon - London U.S. Open - New York All Lower level tournaments French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group II, 1R, DOM-BOL 4-1 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, PO, PUR-BOL 3-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Americas Group II, PO, BOL-ESA 4-1 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 1R, BOL-PER 2-3 Davis Cup, Group II, PO, BOL-GUA 3-1 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 1R, MEX-BOL 3-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, PO, PER-BOL 3-2 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group II, 1R, ESA-BOL 3-2 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group II, PO, BOL-BAH 4-1 Davis Cup, Group II, 1R, BOL-PER 1-4 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group II, PO, BOL-PUR 5-0 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, Group II, 1R, GUA-BOL 2-3 Davis Cup, World Group I, PO, BOL-DOM 3-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 French Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Davis Cup, Group I, 1R, POR-ISR 5-0 U.S. Open (juniors) Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 1R, BOL-BEL 2-3 Davis Cup, Group I, PO, PER-BOL 3-1 Wimbledon - London Villa Maria Challenger French Open - Paris Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, World Group, PO, POR-CZE 1-3 U.S. Open - New York U.S. Open - New York Olympics - Rio de Janeiro U.S. Open - New York U.S. Open - New York Olympics - Tokyo Davis Cup, World Group II, 1R, BOL-URU 1-3 Wimbledon (juniors)